<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .title{color:red}
    </style>
</head>
<body>
    <!-- 准备好一个容器 -->
    <div id="test"></div>


    <!-- 引入react核心库 -->
    <script src="../js/16/react.development.js" ></script>
    <!-- 引入react-dom，用于支持react操作DOM -->
    <script src="../js/16/react-dom.development.js"></script>
    <!-- 引入babel，用于将jsx转为js -->
    <script src="../js/babel.js" ></script>
    <script type="text/babel"> /*此处一定要写babel，否则无法识别jsx语法*/
       // 创建类式组件
        class Weather extends React.Component{
            state = { isHot: true }
            /**
             * 1.组件汇总render方法中的this为组件实例对象
             * 2.组件自定义方法中this为undefined，如何解决：
             *  a.在constructor中绑定this
             *  b.在自定义方法中箭头函数
             * 3.状态数据，不能直接修改或更新
             */
            render(){
                const { isHot } = this.state
                return <h1 onClick={this.changeWeather}>今天天气很{isHot ? '炎热' : '寒冷'}</h1>
            }
            // 自定义方法--要用赋值语句的形式+箭头函数
            changeWeather = () => { 
                this.setState({
                    isHot: !this.state.isHot
                })
            }
        }
       // 渲染组件到页面
       ReactDOM.render(<Weather/>, document.getElementById('test'))
    </script>
</body>
</html>